package com.chenfan.mcn.extension.mybatisplus;

import java.io.Serializable;

/**
 * Base装配者接口
 *
 * @author wulg
 * @date 2021-09-11
 **/
public interface BaseAssembler {

    /**
     * 初始化 可以在实体类转换后，生成的目标对象做初始化处理
     */
    default void init() {
        // 默认走公共填充组件
    }

    /**
     * 忽略 例如：可以在实体类转换后，生成的目标对象做忽略处理
     */
    default void ignore() {

    }

    /**
     * 填充
     */
    default void fill() {
        //默认走公共填充组件
        this.init();
    }

    /**
     * 逻辑删除
     * @param id
     */
    default void logicDelete(Serializable id) {

    }
}
